home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Windows.idl < prev    next >
Text File  |  1996-05-01  |  8KB  |  217 lines

  1. /*
  2.      File:        Windows.idl
  3.  
  4.      Contains:    Window Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __WINDOWS_IDL__
  19. #define __WINDOWS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __MEMORY_IDL__
  28. #include <Memory.idl>
  29. #endif
  30. #ifndef __QUICKDRAW_IDL__
  31. #include <Quickdraw.idl>
  32. #endif
  33. #ifndef __EVENTS_IDL__
  34. #include <Events.idl>
  35. #endif
  36. #ifndef __CONTROLS_IDL__
  37. #include <Controls.idl>
  38. #endif
  39. #ifndef __HIWINDOWTYPES_IDL__
  40. #include <HIWindowTypes.idl>
  41. #endif
  42.  
  43. #ifdef __SOMIDL__
  44.  
  45. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  46. /*
  47. _________________________________________________________________________________________________________
  48.     
  49.  * WINDOW DEFINITION TYPE
  50. _________________________________________________________________________________________________________
  51. */
  52. /*
  53. _________________________________________________________________________________________________________
  54.     
  55.  * WINDOW DEFINITION ID'S
  56. _________________________________________________________________________________________________________
  57. */
  58. /*
  59. _________________________________________________________________________________________________________
  60.     
  61.  * VARIANT CODES
  62. _________________________________________________________________________________________________________
  63. */
  64. /*
  65. _________________________________________________________________________________________________________
  66.     
  67.  * PROC-ID'S
  68. _________________________________________________________________________________________________________
  69. */
  70. /*
  71. _________________________________________________________________________________________________________
  72.     
  73.  * STANDARD WINDOW KINDS
  74. _________________________________________________________________________________________________________
  75. */
  76. /*
  77. _________________________________________________________________________________________________________
  78.     
  79.  * FIND WINDOW RESULT CODES
  80. _________________________________________________________________________________________________________
  81. */
  82. /*
  83. _________________________________________________________________________________________________________
  84.     
  85.  * WINDOW DEFINITION HIT TEST RESULT CODES ("WINDOW PART")
  86. _________________________________________________________________________________________________________
  87. */
  88. /*
  89. _________________________________________________________________________________________________________
  90.     
  91.  * WINDOW COLOR PART CODES
  92. _________________________________________________________________________________________________________
  93. */
  94. /*
  95. _________________________________________________________________________________________________________
  96.  * WINDOW COLOR TABLE STRUCTURE
  97. _________________________________________________________________________________________________________
  98. */
  99. typedef SOMLargeStruct            WinCTab;                    /* Derived from a struct of 48 bytes in size */
  100.  
  101. typedef OpaquePtr                WCTabPtr;                    /* Substituted OpaquePtr for ``WinCTab*'' */
  102.  
  103. typedef OpaquePtr                WCTabHandle;                /* Substituted OpaquePtr for ``WCTabPtr*'' */
  104.  
  105. /*
  106. _________________________________________________________________________________________________________
  107.  * WINDOWRECORD
  108. _________________________________________________________________________________________________________
  109. */
  110.  
  111.  
  112. typedef OpaquePtr                WindowPeek;                    /* Substituted OpaquePtr for ``WindowRecord*'' */
  113.  
  114. typedef SOMLargeStruct            WindowRecord;                /* Derived from a struct of 156 bytes in size */
  115.  
  116. /*
  117. _________________________________________________________________________________________________________
  118.  * CWINDOWRECORD
  119. _________________________________________________________________________________________________________
  120. */
  121.  
  122.  
  123. typedef OpaquePtr                CWindowPeek;                /* Substituted OpaquePtr for ``CWindowRecord*'' */
  124.  
  125. typedef SOMLargeStruct            CWindowRecord;                /* Derived from a struct of 156 bytes in size */
  126.  
  127. /*
  128. _________________________________________________________________________________________________________
  129.  * AUXWINDHANDLE
  130. _________________________________________________________________________________________________________
  131. */
  132.  
  133.  
  134. typedef OpaquePtr                AuxWinPtr;                    /* Substituted OpaquePtr for ``AuxWinRec*'' */
  135.  
  136. typedef OpaquePtr                AuxWinHandle;                /* Substituted OpaquePtr for ``AuxWinPtr*'' */
  137.  
  138. typedef SOMLargeStruct            AuxWinRec;                    /* Derived from a struct of 28 bytes in size */
  139.  
  140. /*
  141. _________________________________________________________________________________________________________
  142.  * WSTATEHANDLE
  143. _________________________________________________________________________________________________________
  144. */
  145. typedef SOMLargeStruct            WStateData;                    /* Derived from a struct of 16 bytes in size */
  146.  
  147. typedef OpaquePtr                WStateDataPtr;                /* Substituted OpaquePtr for ``WStateData*'' */
  148.  
  149. typedef OpaquePtr                WStateDataHandle;            /* Substituted OpaquePtr for ``WStateDataPtr*'' */
  150.  
  151. /*
  152. _________________________________________________________________________________________________________
  153.     
  154.  * API
  155. _________________________________________________________________________________________________________
  156. */
  157. /*
  158. _________________________________________________________________________________________________________
  159.     
  160.  * PROCS
  161. _________________________________________________________________________________________________________
  162. */
  163. typedef OpaquePtr WindowDefProcPtr;
  164. typedef OpaquePtr WindowDefUPP;
  165. typedef OpaquePtr DeskHookProcPtr;
  166. typedef OpaquePtr DeskHookUPP;
  167. /*
  168. _________________________________________________________________________________________________________
  169.     
  170.  * C GLUE
  171. _________________________________________________________________________________________________________
  172. */
  173. #if CGLUESUPPORTED
  174. #endif
  175. /*
  176. _________________________________________________________________________________________________________
  177.     
  178.  * WindowRecord accessor macros
  179. _________________________________________________________________________________________________________
  180. */
  181. /*
  182. *****************************************************************************
  183. *                                                                           *
  184. * The conditional STRICT_WINDOWS has been removed from this interface file. *
  185. * The accessor macros to a WindowRecord are no longer necessary.            *
  186. *                                                                           *
  187. *****************************************************************************
  188.  
  189. Details:
  190. The original purpose of the STRICT_ conditionals and accessor macros was to
  191. help ease the transition to Copland.   Shared data structures are difficult
  192. to coordinate in a preemptive multitasking OS.  By hiding the fields in a
  193. WindowRecord and other data structures, we would begin the migration to 
  194. system data structures being completely hidden from applications. 
  195.  
  196. After many design reviews, it was finally concluded that with this sort of
  197. migration, the system could never tell when an application was no longer 
  198. peeking at a WindowRecord, and thus the data structure might never become 
  199. system owned.  Additionally, there were many other limitations in the classic
  200. toolbox that were begging to be addressed.
  201.  
  202. The final decision was to leave the traditional toolbox as a compatibility mode.
  203. The preferred toolbox API for Copland is a new SOM(tm) based architecture 
  204. (e.g. HIWindows.idl).  Windows, menu, controls, etc are each a SOM object 
  205. with methods for drawing, event handling, and customization.
  206.  
  207. */
  208. #ifdef __cplusplus
  209. #else
  210. #endif
  211. #endif
  212.  
  213. #endif /* __SOMIDL__ */
  214.  
  215. #endif /* __WINDOWS_IDL__ */
  216.  
  217.